import matplotlib.pyplot as plt

def figure_show(coordinates, x_range=None, y_range=None):
    # 假设你有以下二维坐标
    # coordinates = [(1, 2), (2, 3), (3, 1), (4, 5), (5, 4)]
    # coordinates.append(coordinates[0])

    # 分解成x和y坐标
    x, y = zip(*coordinates)

    # 创建一个图形
    plt.figure(figsize=(8, 6))

    # 绘制散点图
    # plt.scatter(x, y, color='blue', label='Points')
    
    # 绘制连线图
    # plt.plot(x, y, color='blue', marker='o', label='Line')
    plt.plot(x, y, color='blue', label='Line')

    # 添加标题和标签
    plt.title("2D Coordinates Visualization")
    plt.xlabel("X-axis")
    plt.ylabel("Y-axis")

    # 可选：添加坐标点的标签
    # for i, (xi, yi) in enumerate(coordinates):
        # plt.text(xi + 0.1, yi + 0.1, f"({xi},{yi})", fontsize=9)

    # 设置坐标轴范围
    if x_range:
        plt.xlim(x_range)
    if y_range:
        plt.ylim(y_range)

    # 显示网格
    plt.grid(True)

    # 显示图形
    plt.legend()
    # plt.show(block=False)
    plt.show(block=True)


